<?php
	include_once '../../conf/lock.php';
	
	$funcionalidade = new sistFuncionalidadesRecord();
	$privTabela = new sistPrivilegiosTabelasRecord();
	$privCampo = new sistPrivilegiosCamposRecord();
	
	$acao = $_GET['acao'];
	  
	switch($acao)
	{
		case "add":
		{
			$nomeRole = $funcionalidade->formatarNomeFuncionalidades($_POST['nome']);
			
			$dados['nome'] = $nomeRole;
			$dados['situacao'] = '1';
			 
			if($funcionalidade->cadastrarFuncionalidades($dados))
			{ 
				unset($dados);
				
				$nomeTabela = $_POST['tabela'];
				
				if(empty($_POST['deletar']))
				{
					$excluir = 0;
				} else
				{
					$excluir = 1;
				}
				 
				$dados['funcionalidade'] = $funcionalidade->ultimoId('sistema.sistfuncionalidades_cod_seq');
				$dados['tabela'] = $nomeTabela;
				$dados['excluir'] = $excluir;
				$dados['situacao'] = '1';
				
				if($privTabela->cadastrarPrivilegiosTabelas($dados,$nomeRole))
				{  	 
					unset($dados);
					 
					$tabela = $privTabela->ultimoId('sistema.sistprivilegiostabelas_cod_seq');
					
					$selecionar = $_POST['selecdestino'];
					$atualizar = $_POST['atuadestino'];
					$inserir = $_POST['insedestino'];
					 
					if(count($selecionar) >= 1)
					{
						foreach($selecionar as $campo)
						{
							$dados['tabela'] = $tabela;
							$dados['campo'] = $campo;
							$dados['tipo'] = 'S';
							
							$privCampo->cadastrarPrivilegiosCampos($dados,$nomeRole,$nomeTabela);
							
							unset($dados);
						}
					}
					
					if(count($atualizar) >= 1)
					{
						foreach($atualizar as $campo)
						{
							$dados['tabela'] = $tabela;
							$dados['campo'] = $campo;
							$dados['tipo'] = 'U';
							
							$privCampo->cadastrarPrivilegiosCampos($dados,$nomeRole,$nomeTabela);
							
							unset($dados);
						}
					}
					
					if(count($inserir) >= 1)
					{
						foreach($inserir as $campo)
						{
							$dados['tabela'] = $tabela;
							$dados['campo'] = $campo;
							$dados['tipo'] = 'I';
							
							$privCampo->cadastrarPrivilegiosCampos($dados,$nomeRole,$nomeTabela);
							
							unset($dados);
						}
					}
				}
			} else
			{
				return false;
			}
		
			break;
		}
		
		case "edit":
		{
			
			break;
		}
		
		case "del":
		{
			$codFuncionalidade = $_POST['codFuncionalidade'];
			
			return $funcionalidade->excluirFuncionalidades($codFuncionalidades);
			
			break;
		}
	}
?>